/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package managertelaCadastros;

import classes.Fabricante;
import dao.DaoClassificacao;
import java.util.List;
import telaCadastros.CadFabricante;
import util.Mensagem;

/**
 *
 * @author fumio
 */
public final class managerCadFabricante implements interfaceManager {

    private Fabricante fabricante;
    private static CadFabricante cadFabricante;
    private DaoClassificacao daoclassificacao = new DaoClassificacao();

    public managerCadFabricante(Fabricante cfabricante) {
        cadFabricante = CadFabricante.getInstance(this);
        if (cfabricante == null) {
            fabricante = new Fabricante();
        } else {
            fabricante = cfabricante;
            getData();
        }

        cadFabricante.setVisible(true);
    }

    @Override
    public boolean salvar() {
        if (Mensagem.confirmarCadastro("fabricante")) {
            try {
                if (fabricante == null) {
                    fabricante = new Fabricante();
                }

                if (setData()) {
                    if (daoclassificacao.salvar(fabricante)){
                        Mensagem.registroConfirmado("fabricante");
                        cadFabricante.dispose();
                    }
                }

                return true;

            } catch (Exception e) {
                Mensagem.registroNaoConfirmado("fabricante");
                return false;
            }
        } else {
            return false;
        }

    }

    @Override
    public List carregar() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public boolean setData() {
        boolean response;
        try {
            fabricante.setFabricante(cadFabricante.edtFabricante.getText());
            response = true;
        } catch (Exception e) {
            response = false;
        }
        return response;
    }

    @Override
    public void getData() {
        cadFabricante.edtCodigo.setText(fabricante.getIdFabricante().toString());
        cadFabricante.edtFabricante.setText(fabricante.getFabricante());
    }
}
